package com.skh.stack;

import java.util.Arrays;

/**
 * 下一个较大的元素
 * created by skh on 2019/7/1
 */
public class FindNext {

	/*
	现在我们有一个int数组，请你找出数组中每个元素的下一个比它大的元素。

	给定一个int数组A及数组的大小n，请返回一个int数组，代表每个元素比他大的下一个元素,若不存在则为-1。保证数组中元素均为正整数。

	测试样例：
	[11,13,10,5,12,21,3],7
	返回：[13,21,12,12,21,-1,-1]
	 */

	public int[] findNext(int[] A, int n) {
		int[] result = new int[A.length];
		for (int i = 0; i < A.length; i++) {
			int j = i + 1;
			for ( ;j < A.length; j++) {
				if (A[j] > A[i]) {
					result[i] = A[j];
					break;
				}
			}
			if (j == A.length) {
				result[i] = -1;
			}

		}

		return result;
	}

	public static void main(String[] args) {
		FindNext findNext = new FindNext();
		int[] A ={11,13,10,5,12,21,3};
		int[] next = findNext.findNext(A, 7);
		System.out.println("Arrays.toString(next) = " + Arrays.toString(next));
	}
}
